// components/login/login.js
const app = getApp()
Component({

  /**
   * 组件的属性列表
   */
  properties: {
    showLogin: Boolean
  },

  /**
   * 组件的初始数据
   */
  data: {
    avatarUrl: 'cloud://ax-cloud-6gs71h36ef44f6e6.6178-ax-cloud-6gs71h36ef44f6e6-1311849331/a20240109/index_data/avatar.png',
    btnForbid: true, // 禁用按钮
    shortAvatarUrl: 'cloud://ax-cloud-6gs71h36ef44f6e6.6178-ax-cloud-6gs71h36ef44f6e6-1311849331/a20240109/index_data/avatar.png' // 临时图片
  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 关闭面板
    onClose() {
      this.setData({ showLogin: false })
    },

    // 注册
    login(e){
      wx.cloud.callFunction({
        name: 'login',
        data: {
          nickname: e.detail.value.nickname || '微信用户',
          avatarUrl: this.data.avatarUrl
        }
      }).then(res => {
        // 注册后保存到本地和全局
        app.globalData.userInfo = res.result
        app.globalData.isUserInfo = true
        // wx.setStorageSync('userInfo', res.result)
        this.setData({ showLogin: false })
        this.triggerEvent('updateUser')
        wx.showToast({
          title: '头像生效需要3分钟左右~',
          icon: 'none'
        })
      })
    },

    // 获取用户头像
    onChooseAvatar(e) {
      const { avatarUrl } = e.detail
      // 获取用户openid
      wx.cloud.callFunction({
        name: 'get_openId'
      }).then(res => {
        // 上传图片拿到返回路径
        wx.cloud.uploadFile({
          cloudPath: `a20240109/userAvatar/用户${res.result.openid}.png`,
          filePath: avatarUrl
        }).then(res => {
          // console.log(res.fileID);
          // 同步给页面
          this.setData({
            avatarUrl: res.fileID,
            btnForbid: false,
            shortAvatarUrl: avatarUrl
          })
        })
      })
    }
  }
})